

USE SIGCSM_V3_02
GO


-- DROP TABLE SM_CONFIGURACION
CREATE TABLE SM_CONFIGURACION(

	CODIGOCONFIGURACION			INT PRIMARY KEY IDENTITY (1,1),
	NUMEROPACIENTESACONSIDERAR	INT,
	NUMEROPOBLACIONACONSIDERAR	INT,
	PROBABIBLIDADCROSSOVER		NUMERIC(18,8),
	PROBABILIDADMUTACION		NUMERIC(18,8),
	NUMEROGENERACIONACONSIDERAR	INT,		
	NUMEROHALLAZGOSACONSIDERAR	INT
)
GO


-- DROP TABLE SM_ORGANIZACION
CREATE TABLE SM_ORGANIZACION(
	CODIGOORGANIZACION	INT PRIMARY KEY ,
	NOMBRECORTO			VARCHAR(20),
	NOMBRELARGO			VARCHAR(100),
	FUENTEINFORMACION	VARCHAR(8000),--PUEDE SER LA RUTA O LA DATA EN:[[0,0,1,0,....
	NUMEROREGLAS		INT,
	NUMEROREGLASACONSIDERAR	INT,
	PRIORIDAD			INT,
	ESTADO				VARCHAR(1)	
)
GO

-- DROP TABLE SM_CONFIGURACIONORGANIZACION
CREATE TABLE SM_CONFIGURACIONORGANIZACION(

	CODIGOCONFIGURACION			INT,
	CODIGOORGANIZACION			INT,
	NUMEROREGLASACONSIDERAR		INT,
	FOREIGN KEY (CODIGOCONFIGURACION) REFERENCES SM_CONFIGURACION(CODIGOCONFIGURACION),
	FOREIGN KEY (CODIGOORGANIZACION) REFERENCES SM_ORGANIZACION(CODIGOORGANIZACION)
	
)
GO


--DROP TABLE SM_GENERACION
CREATE TABLE SM_GENERACION(
	NUMEROGENERACION	INT PRIMARY KEY,
	DETALLE				VARCHAR(100),
	ITERACIONES		INT	
	---numero de hijos, numero crosovers, numero de mutaciones
)
GO
 
 --DROP TABLE SM_CROMOSOMA
CREATE TABLE SM_CROMOSOMA
(
	NUMEROCROMOSOMA		INT PRIMARY KEY,
	PARENTESCO			VARCHAR(50),
	GENERACIONACIMIENTO	INT,
	GENERACIONFALLECIMIENTO	INT,
	PADRE				VARCHAR(20),
	MADRE				VARCHAR(20),
	FLAGSELECCION		INT,
	ESTADO				VARCHAR(1),
	
	FOREIGN KEY (GENERACIONACIMIENTO) REFERENCES SM_GENERACION(NUMEROGENERACION),
	FOREIGN KEY (GENERACIONFALLECIMIENTO) REFERENCES SM_GENERACION(NUMEROGENERACION)
)
GO

--DROP TABLE [SM_CROMOSOMAGENERACIONVALORFITNNES]
CREATE TABLE [dbo].[SM_CROMOSOMAGENERACIONVALORFITNNES](
	NUMEROGENERACION	INT,
	NUMEROCROMOSOMA		INT,
	NUMEROPOSICION		INT,
	VALORADAPTACION		NUMERIC(18,8),
	REGLASACERTADAS		INT,
	
	FOREIGN KEY (NUMEROGENERACION) REFERENCES SM_GENERACION(NUMEROGENERACION),
	FOREIGN KEY (NUMEROCROMOSOMA) REFERENCES SM_CROMOSOMA(NUMEROCROMOSOMA)	
) 
GO

-- DROP TABLE SM_POBLACION
CREATE TABLE SM_POBLACION(
	NUMEROGENERACION	INT,
	NUMEROPOBLACIONINICIAL	INT,
	NUMEROPOBLACIONFINAL	INT,
	FOREIGN KEY (NUMEROGENERACION) REFERENCES SM_GENERACION(NUMEROGENERACION),

)
GO

-----------------------------------------------------------------------------------




-- DROP TABLE SM_OPERADORES
CREATE TABLE SM_OPERADORES(

	CODIGOOPERADOR	INT,
	NOMBRE			VARCHAR(50),
	ESTADO			VARCHAR(1),
	USAR			VARCHAR(1)
)
GO

CREATE TABLE SM_PACIENTE(

	CODIGOPACIENTE		INT,
	DOCUMETO			VARCHAR(20),
	NOMBRES				VARCHAR(50),
	APELLIDOPARTERNO	VARCHAR(50),
	APELLIDOMATERNO		VARCHAR(50),
	ESTADO				VARCHAR(1)	
)
GO


-- INICIO - JHON -- 04/10/2012

--DROP TABLE SM_CRITERIOS

CREATE TABLE SM_CRITERIOS(
	CODIGOCRITERIO INTEGER PRIMARY KEY IDENTITY(1,1),
	NOMBRECRITERIO VARCHAR(50),
	NOMBRETECNICO VARCHAR(50),
	SIGLACRITERIO VARCHAR(10),
	DESCRIPCION VARCHAR(100)
)
GO
--DROP TABLE SM_HALLAZGOS

CREATE TABLE SM_HALLAZGOS(
	CODIGOHALLAZGO INTEGER PRIMARY KEY IDENTITY(1,1),
	CODIGOCRITERIO INTEGER,
	NUMEROHALLAZGO VARCHAR(10),
	NOMBREHALLAZGO VARCHAR(100),
	USARHALLAZGO CHAR(1),
	
	FOREIGN KEY (CODIGOCRITERIO) REFERENCES SM_CRITERIOS(CODIGOCRITERIO),
	
)

GO

CREATE TABLE SM_HALLAZGOSPPORORGANIGACION(
	CODIGOHALLAZGOPPORORGAN INTEGER PRIMARY KEY IDENTITY (1,1),
	CODIGOORGANIZACION INTEGER,
	CODIGOHALLAZGO	INTEGER,
	PRIODIDAD		CHAR(1),
	
	FOREIGN KEY (CODIGOORGANIZACION) REFERENCES SM_ORGANIZACION(CODIGOORGANIZACION),
	FOREIGN KEY (CODIGOHALLAZGO) REFERENCES SM_HALLAZGOS(CODIGOHALLAZGO),
 
 
)
GO

-- FIN JHON -- 04/10/2012

 --DROP TABLE SM_CROMOSOMAS_FINALES
CREATE TABLE SM_CROMOSOMAS_FINALES
(
	CODCROMOSOMASFINALES INT PRIMARY KEY IDENTITY(1,1),
	NUMEROCROMOSOMA		INT,
	NUMEROGENERACION	INT,
	CONOCIMIENTO		VARCHAR(8000),
	NUMEROFILA			INT,
	NUMEROCOLUMNA		INT,
	ULTIMOCROMOSOMA		INT
	
	FOREIGN KEY (NUMEROGENERACION) REFERENCES SM_GENERACION(NUMEROGENERACION),
	FOREIGN KEY (NUMEROCROMOSOMA) REFERENCES SM_CROMOSOMA(NUMEROCROMOSOMA)	
)
GO

ALTER TABLE SM_GENERACION
ADD CODIGOCONFIGURACION INT FOREIGN KEY (CODIGOCONFIGURACION)REFERENCES SM_CONFIGURACION(CODIGOCONFIGURACION)
GO


CREATE TABLE SM_RESUMENALGORITMOGENETICO(
	CODIGORESUMENALGORITMOGENETICO INT PRIMARY KEY IDENTITY(1,1),
	CODIGOCONFIGURACION INT,
	NUMEROPOBLACIONACONSIDERAR	INT,
	NUMEROPACIENTESACONSIDERAR INT,
	NUMEROREGLASACONSIDERAR INT,
	NUMEROGENERACIONACONSIDERAR INT,
	PROBABIBLIDADCROSSOVER	NUMERIC(18,8),
	PROBABILIDADMUTACION	NUMERIC(18,8),
	GENERACIONACIMIENTO INT,
	VALORADAPTACION NUMERIC(18,8)
)
GO

CREATE TABLE SM_NACIMIENTODEFITNES(
	CODIGONACIMIENTOPARAFITNES INTEGER PRIMARY KEY IDENTITY(1,1),
	CODIGOCONFIGURACION  INT,
	GENERACIONNACIMIENTO INT,
	VALORADAPTACION NUMERIC(18,8)
)
GO


CREATE TABLE SM_CROSOMAHISTORICO
(	
	CODIGOCROSOMASHISTORICO INT PRIMARY KEY IDENTITY(1,1),
	CODIGOCONFIGURACION INT,
	NUMEROCROMOSOMA	INT,
	PARENTESCO VARCHAR(50),
	GENERACIONACIMIENTO INT,
	GENERACIONFALLECIMIENTO INT,
	PADRE	VARCHAR(20),
	MADRE	VARCHAR(20),
	FLAGSELECCION	INT,
	ESTADO	INT,
	VALORADAPTACION NUMERIC(18,8),
	REGLASACERTADAS INT,
	CANTIDADSELECCIONADA INT
)
GO


